package com.boss.core;

import java.io.File;

/**
 * This class contains the string constants used in this plugin project.
 *
 * @author Momin Noor Khan
 */
public final class BossConstants {

    /**
     * Common Constants
     */

    //icon
    public static final String BOSS_ICON = "/plugin/boss/images/boss.gif";

    //Default delay for jobs
    public static final String DEFAULT_JOB_DELAY = "30";     //in seconds

    //Miscellaneous string constants
    public static final String PROJECTS_KEY = "projects";
    public static final String TASKS_KEY = "TASKS";
    public static final String RELEASES_KEY = "releases";
    public static final String MODULES_KEY = "MODULES";
    public static final String DUMMY_VALUE = "--Please Select One--";
    public static final String BREAK = "<br/>";
    public static final String DASH = "-";
    public static final String DOT = ".";
    public static final String SUFFIX_PROPERTIES = "properties";
    public static final String SUFFIX_TASKS = "-tasks";
    public static final String SUFFIX_VIEW = "View.jelly";
    public static final String SUFFIX_DOT_PROPERTIES = ".properties";
    public static final String STAGING_DIR = "STAGING-DIR";
    public static final String SVN_STAGING_URL = "SVN-STAGING-URL";
    public static final String SVN_STAGING_PATH = "SVN-STAGING-PATH";
    public static final String IMG_CREATE_ORDER = "/plugin/boss/images/createOrder.gif";

    //Projects  / Property Sections
    public static final String PROJECT_CPM = "CPM";
    public static final String PROJECT_PAM = "PAM";
    public static final String PROJECT_RNB = "RNB";
    public static final String PROJECT_PAM_DK_RNB = "PAM-DK-RNB";
    public static final String PROJECT_RFM = "RFM";
    public static final String PROJECT_GIS = "GIS";
    public static final String PROJECT_MEDICAL_RECORD_ALIAS = "MR";
    public static final String PROJECT_MEDICAL_RECORD = "Medical-Record";
    public static final String PROJECT_CPM_WEB_SATELLITES = "CPM-WEB-SATELLITES";
    //public final static String MISC_PROPERTY_SECTION = "MISCELLANEOUS";
    public static final String COMMON_PROPERTY_SECTION = "COMMON";

    //Tasks
    public static final String TASK_BUILD = "build";
    public static final String TASK_RELEASE = "release";
    public static final String TASK_DEPLOY = "deploy";
    public static final String TASK_INSTALLER = "installer";
    public static final String TASK_DEPLOY_HELP = "deploy-help";
    public static final String TASK_DEPLOY_EXISTING_MESSAGING_ONLY = "deploy-existing-messaging-only";
    public static final String TASK_COPY_HELP = "copy-help";
    public static final String TASK_COPY_BUILD = "copy-build";
    public static final String TASK_COPY_PORTAL_FILES = "copy-portal-files";

    //Tab views
    public static final String TAB_VIEW = "tabView";
    public static final String TAB_CPM = "";
    public static final String TAB_GIS = "gisTabView";
    public static final String TAB_MEDICALRECORD = "medicalRecordTabView";
    public static final String TAB_RNB = "rnbTabView";
    public static final String TAB_PAM = "pamTabView";

    //Post Submit view
    public static final String POST_SUBMIT_VIEW = "/lib/boss/core/views/postSubmit.jelly";
    public static final String DUMMY_VIEW = "/lib/boss/core/views/dummyView.jelly";

    //CCS Help artifacts
    public static final String HELP_ARTIFACT_CPMCLIENT = "CPMClient";
    public static final String HELP_ARTIFACT_CPMSACLIENT = "SAClient";
    public static final String HELP_ARTIFACT_PAM = "PAM";
    public static final String HELP_ARTIFACT_PORTAL = "Portal";

    //Staging Directory (default)
    //public final static String CPM_STAGING_DIR = "\\\\scandihealth\\shares\\ORACLE-udvikling\\CCS_Installationer\\releases\\";
    //public final static String MEDICALRECORD_STAGING_DIR = "\\\\scandihealth\\shares\\ORACLE-udvikling\\CCS_Installationer\\releases\\medicalrecord\\";
    //public final static String RNB_STAGING_DIR = "\\\\scandihealth\\shares\\ORACLE-udvikling\\CCS_Installationer\\releases\\rnb-reporting-services\\";

    public static final String SVN_USERNAME = "hudson";
    public static final String SVN_PASSWORD = "hudson";

    //To be used for CheckBoxes : status 'ON'
    public static final String CHKBOX_ON = "on";

    //Post submit landing page request parameter keys
    public static final String SUBMIT_STATUS = "submitStatus";
    public static final String SUBMIT_MESSAGE = "submitMessage";
    public static final String SUBMIT_DESCRIPTION = "submitDescription";
    public static final String SUBMIT_EXCEPTION = "submitException";
    public static final String VALIDATION_ERROR_MSG = "validationErrorMsg";
    public static final String STACKTRACE_ELEMENT = "stackTraceElement";

    //Job Submission status
    public static final String SUBMIT_SUCCESS = "Success";
    public static final String SUBMIT_FAILURE = "Failure";
    public static final String SUBMIT_INVALID = "Validation Error";

    //Job not available error message
    public static final String JOB_NOT_AVAILABLE = "Job Unavailable";
    public static final String JOB_INVALID = "Invalid Job";


    /**
     * CPM Constants
     */

    //Online Help
    public static final String ONLINE_HELP_KEY = "OH";
    public static final String ONLINE_HELP_CUSTOMER_KEY = "onlinehelp-customer";
    public static final String ONLINE_HELP_LANGUAGE_KEY = "onlinehelp-language";
    public static final String ONLINE_HELP_DEFAULT_CUSTOMER_KEY = "default-onlinehelp-customer";
    public static final String ONLINE_HELP_DEFAULT_LANGUAGE_KEY = "default-onlinehelp-language";
    public static final String ONLINE_HELP_RELEASES_KEY = "onlinehelp-releases";
    public static final String ONLINE_HELP_ARTIFACTS_KEY = "onlinehelp-artifacts";

    //Valid Messaging Branches Key
    public static final String MESSAGING_BRANCHES_KEY = "messaging-valid-branches";


    /**
     * GIS Constants
     */

    public static final String GIS_KEY = "GIS";
    public static final String GIS_USERS = "GIS-USERS";
    public static final String GIS_SERVER = "GIS-SERVER";
    public static final String SERVER_KEY = "SERVER";
    public static final String AUTHORIZED_USERS = "AUTHORIZED-USERS";
    public static final String GIS_PORTAL_DESTINATION_SERVER = "GIS-PORTAL-DESTINATION-SERVER";
    public static final String GIS_DEFAULT_SERVER_KEY = "GIS-DEFAULT-SERVER";
    public static final String GIS_DEFAULT_SERVER_HOME_KEY = "server.home";
    public static final String GIS_DEFAULT_PORTAL_DESTINATION_KEY = "server.portal.destination";
    public static final String GIS_ONLINE_HELP_HOME_KEY = "server.help.home";
    public static final String GIS_CUSTOMER_KEY = "GIS-CUSTOMERS";

    /**
     * Keys - Configurable Properties
     */

    public static final String JOB_DELAY = "JOB-DELAY";
    public static final String TASKS = "TASKS";
    public static final String RELEASES = "RELEASES";


    /**
     * Server Profiles
     */
    public static final String GIS_SERVER_PROFILES = File.separator + "gisprofiles" + File.separator;
    public static final String SERVER_PROFILES = File.separator + "oc4jprofiles" + File.separator;

    /**
     * Roles
     */
    public static final String ROLE_ADMIN = "admin";
    public static final String ROLE_SUPER_USER = "super user";
    public static final String ROLE_USER = "user";
    public static final String ROLE_GIS = "GIS";

    /**
     * JSON Keys
     */
    public static final String KEY_ARTIFACT = "artifact";
    public static final String KEY_PROJECT = "project";
    public static final String KEY_RELEASE = "release";
    public static final String KEY_TASK =  "Task";
    public static final String KEY_STAPLER_CLASS = "staplerClass";
    public static final String KEY_TARGET = "target";
    public static final String KEY_TARGET_LOCATION = "targetLocation";
    public static final String KEY_EXISTING_BUILD_BLOCK = "existingBuildBlock";
    public static final String KEY_EXISTING_BUILD_NUMBER = "existingBuildNumber";
    public static final String KEY_INSTALLER = "installer";
    public static final String KEY_MESSAGING = "messaging";
    public static final String KEY_CCS_MOBILE_CLIENT = "ccsMobileClient";
    public static final String KEY_ONLINE_HELP_BLOCK = "onlineHelpBlock";
    public static final String KEY_CUSTOMER = "customer";
    public static final String KEY_LANGUAGE = "language";
    public static final String KEY_MODULE_NAME = "moduleName";

    /**
     * URL Parameter Keys
     */
    public static final String URL_PARAM_ARTIFACTS = "Artifacts";
    public static final String URL_PARAM_STARTED_BY = "StartedBy";
    public static final String URL_PARAM_PROJECT = "Project";
    public static final String URL_PARAM_RELEASE = "Release";
    public static final String URL_PARAM_TASK = "Task";
    public static final String URL_PARAM_TARGET_PROFILE = "TargetProfile";
    public static final String URL_PARAM_EXISTING_BUILD_NUMBER = "ExistingBuildNumber";
    public static final String URL_PARAM_INSTALLER = "Installer";
    public static final String URL_PARAM_MESSAGING = "Messaging";
    public static final String URL_PARAM_CCS_MOBILE_CLIENT = "CCSMobileClient";
    public static final String URL_PARAM_CUSTOMER = "Customer";
    public static final String URL_PARAM_LANGUAGE = "Language";
    public static final String URL_PARAM_HELP_ARTIFACTS  = "HelpArtifacts";
    public static final String URL_PARAM_GIS_CUSTOMERS= "GisCustomers";
}